package com.itheima.health.dao;

import com.github.pagehelper.Page;
import com.itheima.health.pojo.Role;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @program: itcast_health
 * @create: 2019-10-28 16:43
 * @author: li he
 * @description:
 */
public interface RoleDao {
    List<Role> findRolesByUserId(Integer userId);

    Page<Role> findPageByQueryString(String queryString);

    Role findById(Integer id);

    List<Integer> findPermissionIds(Integer id);

    List<Integer> findMenuIds(Integer id);

    //添加角色信息
    void addRole(Role role);

    void addPremissionAssociation(@Param("role_id") Integer id,@Param("permission_id") Integer permissionId);

    void addMenuAssociation(@Param("role_id")Integer id, @Param("menu_id")Integer menuId);

    //角色修改
    void editRole(Role role);

    //删除角色和权限之间的关联
    void delPremissionAssociation(Integer id);

    //删除角色和菜单之间的关联
    void delMenuAssociation(Integer id);

    Long findCountById(Integer id);

    void delRole(Integer id);


    //获取所有的角色信息
    List<Role> findAll();
}